// 深度递归 dfs
function dfs(node) {
    let nodes = [];
    if (node) {
        nodes.push(node);
        let childrens = node.children
        for (let i = 0; i < childrens.length; i++) {
            dfs(childrens[i])
        }
    }
}


// // 广度非递归 bfs
// function bfs(node){
//     let nodes = [];
//     while(node.length){
//         let item = node.shift();
//         nodes.push(item)
//         let childrens = item.children;
//         for(let i = 0; i<childrens.length;i++){
//             node.push(childrens[i])
//         }
//     }
// }


function bfs(node){
    let nodes = [];
    if(node.length){
        let item = node.shift();
        nodes.push(item)
        let childrens = item.children;
        for (let i = 0; i < childrens.length; i++) {
            node.push(childrens[i])
        }
    }
}